Skip to main content
Version: 2.0

Firing People

Firing someone is, without question, the hardest part of being an engineering manager. It's not a task you enjoy, and frankly, if you’re getting any satisfaction from it, it’s time to re-evaluate your motivations. I’ve been through it enough times over the last two decades – at startups scrambling for runway, and within established tech giants – to know it never gets “easy.” But it can be done with respect, clarity, and a proactive approach that minimizes the pain – both for the individual and the team.

This isn't about legalities (though those are critical – always involve HR!). This is about the human side of letting someone go, and more importantly, building a system that reduces the need for it in the first place. I’ve seen the fallout from poorly handled firings – plummeting morale, decreased productivity, and a lingering sense of distrust. I’ve also seen teams rally after a difficult, but well-executed, separation. The difference? Preparation, empathy, and a commitment to preventing the situation from escalating to that point.

The Two Real Reasons People Get Fired (and How to Address Them)

Let’s be honest. People rarely get fired for just “not being good enough.” It’s almost always one of two things – or a combination of both:

  1. Performance: This is the more obvious one. The person isn’t consistently meeting expectations. But why? Is it a skills gap? Lack of motivation? A mismatch between their abilities and the role? Or is it a systemic problem – lack of training, unclear expectations, or a toxic team environment? For engineering teams, this might manifest as consistently delivering code with bugs, struggling to adapt to new technologies, or consistently missing sprint commitments.
  2. Behavior/Fit: This is often more difficult to address, but equally damaging. The person’s behavior is disrupting the team, undermining trust, or consistently violating company values. This could manifest as negativity, insubordination, consistent lack of collaboration, or even harassment. It’s particularly important to differentiate between healthy technical debate – which is vital for innovation – and disruptive behavior that silences contributions or creates a hostile environment.

Preventing the Need to Fire: A Proactive Approach

The best way to avoid the pain of firing is to prevent it from becoming necessary in the first place. This requires consistent, ongoing effort:

  • Clear Expectations & Regular Feedback (the 1:1 is Your Friend): This seems obvious, but it's astonishing how often it’s missed. From day one, clearly define expectations for the role. And then, regularly check in with your team members. 1:1s aren’t just for status updates; they’re for providing constructive feedback, addressing concerns, and identifying potential issues before they become critical. I aim for weekly 1:1s, even if they're just 30 minutes.
  • Performance Improvement Plans (PIPs) – Used Correctly: A PIP isn't a pre-firing formality. It’s a genuine attempt to help someone succeed. It should be specific, measurable, achievable, relevant, and time-bound (SMART goals). The plan needs to outline clear expectations, provide support and resources, and set a realistic timeframe for improvement. Crucially, be honest. If you have serious doubts about their ability to turn things around, be upfront.
  • Address Behavioral Issues Immediately: Don’t let negativity or disruptive behavior fester. Address it privately and directly. Explain the impact of their behavior on the team and reiterate expected norms. Document everything. Ignoring these issues doesn't make them go away; it sends a message that such behavior is tolerated.
  • Invest in Skill Development: Identify skills gaps early and provide opportunities for training and development. This shows your team you're invested in their growth and helps them stay relevant in a rapidly evolving industry.

When You Have to Let Someone Go: Doing it Right

Despite your best efforts, sometimes letting someone go is unavoidable. Here's how to approach it:

  • Partner with HR: This is non-negotiable. HR will ensure you’re following all legal requirements and company policies.
  • Plan the Conversation: Don’t wing it. Prepare a clear and concise script outlining the reasons for the decision. Be direct and empathetic. Avoid ambiguity or sugarcoating.
  • Be Respectful and Empathetic: Remember you’re dealing with someone's livelihood. Deliver the news privately and with compassion. Acknowledge their contributions (if any).
  • Keep it Brief and Focused: Don’t get drawn into a lengthy debate or justification. State the decision, explain the reasons (briefly), and outline the next steps (severance, benefits, etc.).
  • Be Prepared for a Reaction: They may be angry, sad, or in shock. Allow them to express their feelings (within reason) and remain calm and professional.
  • Document Everything: Keep a record of the conversation, the reasons for the decision, and any severance agreements.

It's Not About Responsibility – It's About Leadership

Firing someone isn’t a victory. It’s a difficult, necessary, and often painful part of the job. But by prioritizing proactive performance management, fostering open communication, and treating your team members with respect and empathy, you can minimize the need for it and create a more positive and productive work environment.